903D - Almost Difference - CodeForces Solution


data structures math *2200

Please click on ads to support us..

Python Code:

n = int(input())
arr = [int(i) for i in input().split()]
xrr = dict()
ans = 0
s = arr[0]
c = 1
xrr.update({arr[0]:1})
for i in range(1,n):
    if(arr[i]-1 not in xrr):
        xrr.update({arr[i]-1:0})
    if(arr[i]+1 not in xrr):
        xrr.update({arr[i]+1:0})
    if(arr[i] not in xrr):
        xrr.update({arr[i]:0})
    p = s-xrr[arr[i]-1]*(arr[i]-1)-xrr[arr[i]+1]*(arr[i]+1)
    q = c-xrr[arr[i]-1]-xrr[arr[i]+1]
    ans += (q*arr[i])-p
    s += arr[i]
    c += 1
    xrr[arr[i]] += 1
print(ans)


Comments

Submit
0 Comments
More Questions

145. Binary Tree Postorder Traversal
94. Binary Tree Inorder Traversal
101. Symmetric Tree
77. Combinations
46. Permutations
226. Invert Binary Tree
112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians